How do you handle version changes in IndexedDB?
263
03-Jul-2025
Ponu Maurya
03-Jul-2025Handling version changes in IndexedDB is a critical part of managing schema upgrades (like adding new object stores or indexes).
How Versioning Works in IndexedDB
Every IndexedDB database has a version number (default is
1). A version change triggers theonupgradeneededevent. You can only modify the database structure (create/delete object stores, indexes, etc.) inside this event.Version Change Flow
Key Points
indexedDB.open(name, version)onupgradeneededevent.oldVersionevent.newVersionif (oldVersion < x)to support multi-step upgrades.Best Practice
put/add/deleteinsideonupgradeneededunless necessary — structure only.